package com.mes.service.lc;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.mes.dao.lc.MaterialReturnMapper;
import com.mes.entity.lc.MaterialReturn;
import com.mes.entity.lc.MaterialStock;
import com.mes.entity.tdd.ProcurementChuku;
import com.mes.entity.tdd.ProcurementChukuMateriel;

/**
 * 资材退货service实现类
 * @ClassName:MaterialReturnServiceImpl
 * @Description:
 * @Author LC
 * @Date 2018年1月29日下午3:30:03
 * @version 1.0
 */
@Service
public class MaterialReturnServiceImpl implements MaterialReturnService {

	@Autowired
	MaterialReturnMapper	materialReturnMapper;

	/**
	 * 分页查询
	 */
	@Override
	public List<MaterialReturn> selectfymaret(MaterialReturn materialReturn) {
		return materialReturnMapper.selectfymaret(materialReturn);
	}

	/**
	 * 查询总条数
	 */
	@Override
	public int selectfymaretcont(MaterialReturn materialReturn) {
		return materialReturnMapper.selectfymaretcont(materialReturn);
	}

	/**
	 * 查询所有已审批且未退货的资材退货单
	 * @return
	 */
	@Override
	public List<ProcurementChuku> selectpckall() {
		return materialReturnMapper.selectpckall();
	}

	/**
	 * 根据退货单主键查询退货单的具体详情
	 * @param ids
	 * @return
	 */
	@Override
	public List<ProcurementChukuMateriel> selectpckdet(Long ids) {
		return materialReturnMapper.selectpckdet(ids);
	}

	/**
	 * 退货保存
	 */
	@Override
	public int savepcm(String number, String isru, String nowtime,ProcurementChukuMateriel pcm) {
		
		//资材退货
		MaterialReturn mr = new MaterialReturn();
		//物料库存
		MaterialStock  ms  = new MaterialStock();
		
		Long ids = pcm.getMaterielid();
		
		
		mr.setRemark1(isru);//0 未入库   1 已入库
		mr.setReturnmatid(ids);//物料主键
		mr.setMreodd(number);//退货单号
		mr.setMretime(nowtime);//退货时间
		mr.setMrepici(pcm.getPcmremark1());//批次
		mr.setMrecode(pcm.getPcmremark2());//条形码
		mr.setMrenum(pcm.getNumber());//退货数量
		mr.setMrepeop("管理员");//退货人
		
		//添加物料库存信息
		ms.setWssck("物料");//所属仓库
		ms.getMateriel().setRemark2(pcm.getMateriel().getRemark2());//车种
		ms.getMateriel().setName(pcm.getMateriel().getName());// 物料名称   
		ms.getMateriel().setNumber(pcm.getMateriel().getNumber());// 物料编号  
		ms.getMateriel().setColor(pcm.getMateriel().getColor());// 颜色  
		ms.getMateriel().setRemark4(pcm.getMateriel().getRemark4());// 库存安全量 
		ms.setWbeginnum(pcm.getNumber());// 初期库存 
		ms.setWmonthgo(pcm.getNumber());// 本月入库 
		ms.setWnum(pcm.getNumber()); // 库存数量 
		
		Map<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put("mr", mr);
		paramMap.put("ms", ms);
		
		return materialReturnMapper.savepcm(paramMap);
	}

	/**
	 * 退货成功修改退货单状态
	 * @param ids
	 */
	@Override
	public void updateProcurementChuku(Long ids) {
		materialReturnMapper.updateProcurementChuku(ids);
	}
	
}
